# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：HelloWorld
#   文件名：7.10 文件_os.py
# 开发时间：2021/3/30 9:46

"""
文件的相关操作
有时候需要对文件进行重命名、删除等一些操作，python的os模块中都有这么一些常用的功能
"""


# 1.文件重命名 rename(需要修改的文件名，新的文件名)
# os.rename('demo.txt', 'English_poem.txt')

# 2.删除文件
# os.remove('待删除的文件名')
# os.remove('')

# 3.创建文件夹
# os.mkdir('data')

# 小练习：1.通过python新建一个poem.txt，选择一首古诗写入该文件中
# 另外写一个函数，读取指定文件poem.txt,将内容复制到copy.txt中，并在控制台输出’copy done！‘
# 提示：分别定义两个函数，完成读文件、写文件操作尽可能完善代码，添加异常处理


# 写入古诗的函数
def input_poem(file_name, input_content):
    # 方法一：
    try:
        with open(file_name, 'wt', encoding='utf-8') as input_obj:
            try:
                input_obj.write(input_content)
                print('write done')
            except Exception as e:
                print('Error!', e)
    except Exception as e:
        print('open error', e)

    # 方法二：
    # input_obj = open(file_name, 'wt', encoding='utf-8')
    # try:
    #     input_obj.write(poem_content)
    #     print('write done')
    # except Exception as e:
    #     print('Error', e)
    # finally:
    #     input_obj.close()


# 复制古诗的函数
def copy_poem(file_name, copy_name):
    # 方法一：
    try:
        with open(file_name, 'rt', encoding='utf-8') as read_obj:
            copy_content = read_obj.read()
            try:
                with open(copy_name, 'wt', encoding='utf-8') as copy_obj:
                    copy_obj.write(copy_content)
            except Exception as e:
                print('write file error', e)
    except Exception as e:
        print('read file error', e)

    # 方法二：
    # read_obj = open(file_name, 'rt', encoding='utf-8')
    # copy_obj = open(copy_name, 'wt', encoding='utf-8')
    # try:
    #     copy_obj.write(read_obj.read())
    #     print('copy done')
    # except Exception as e:
    #     print('write error', e)
    # finally:
    #     read_obj.close()
    #     copy_obj.close()


# 小练习：1.通过python新建一个poem.txt，选择一首古诗写入该文件中
# 另外写一个函数，读取指定文件poem.txt,将内容复制到copy.txt中，并在控制台输出’copy done！‘
# 提示：分别定义两个函数，完成读文件、写文件操作尽可能完善代码，添加异常处理
poem_content = '\
《饮湖上初晴后雨二首·其二》\n \
\t\t  苏轼[宋]\n \
水光潋滟晴方好，山色空濛雨亦奇。\n \
欲把西湖比西子，淡妆浓抹总相宜。\n '
input_poem('data/poem.txt', poem_content)
copy_poem('data/poem.txt', 'data/copy.txt')
